package com.woniu.humanresource.dao;


import com.woniu.humanresource.entity.Position;
import com.woniu.humanresource.entity.User;
import com.woniu.humanresource.entity.User02;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

@Mapper
public interface UserDao {
    //通过账号查询用户
    User selectUserByUname(String uname);

    //查询权限
    List<String> selectPermissionByUname(String uname);

    //查询所有用户
    //List<User> selectAllUser();
    List<User> selectAllUser(@Param("pageIndex") int pageIndex, @Param("pageSize") int pageSize);

    //查询用户总数
    int selectAllUserCount(@Param("dapartid") int dapartid, @Param("positionid") int positionid);

    //条件查询
    List<User> selectUserByCondition(@Param("dapartid") int dapartid);

    //条件查询
    List<User> selectUserByCondition2(@Param("dapartid") int dapartid, @Param("positionid") int positionid);

    //条件查询
    List<User> selectUserByCondition3(@Param("dapartid") int dapartid, @Param("positionid") int positionid, @Param("username") String username
            , @Param("pageIndex") int pageIndex, @Param("pageSize") int pageSize
    );

    //查询所有的职位
    List<Position> selectAllPosition();

    //条件查询职位
    List<Position> selectPositionByCondition(int pnum);

    List<Position> selectPositionByCondition2(String pnum);

    //修改用户部门和职位
    void updateUser(@Param("id") int id, @Param("setpositionid") int setpositionid);

    //删除user
    void deleteUser(int id);

    //重置密码
    void resetpassword(@Param("id") int id,@Param("password") String password);
    //修改密码

    //查用户的对应的id
    int selectEid(String uname);

    //查询可 分配管理员的员工
    List<User02> selectUserByEstatus();

    //添加
    void insertUser(User02 user);

    //修改状态
    void updateuserStatus(int id);
}
